#!/bin/bash

# 自动列出各个外部参数

# 1. 利用 for 循环遍历 $@ 输出参数
#for v in "$@"  
#do
#    echo "$v"  
#done

# 2. 利用 while 结合 $# 遍历参数（修正语法问题）
#n=1
#while [ $n -le $# ]  
#do
#    echo "参数 $n: ${!n}"  # 间接变量引用，通过 n 的值取对应位置参数
#    n=$((n + 1))  # 算术运算更新 n 的值
#done

#echo "外部参数列表（\$* 形式）: $*"
#echo "外部参数列表（\$@ 形式）: $@"



#!/bin/bash

# 判定指定的文件是否存在且可读

# 处理文件参数
if [ $# -eq 0 ]; 
then
    while true; do
        read -p "请指定检测文件: " file
        
        # 检查输入是否为空
        if [ -z "$file" ]; 
        then
            echo "错误：文件名不能为空，请重新输入！"
            continue
        fi
        else
            # 输入有效，退出循环
            break
    done
else
    file="$1"
fi

# 检查文件状态
if [ -e "$file" ] && [ -r "$file" ]; 
then
    echo "文件【$file】存在而且可读"
elif [ -e "$file" ]; 
then
    echo "文件【$file】存在,但无法读取"
else
    echo "文件【$file】不存在"
fi

    